#include"tcpServer.hpp"
#include<memory>
#include "daemon.hpp"
#include"err.h"

using namespace std;
using namespace ns_server;//要将自己的ns_server命名空间放开，才能使用自己定义的TcpServer类

static void usage(string proc)
{
    std::cout<<"Usage:\n\t"<<proc<<"port\n"<<std::endl;
}
//回调函数func_
std::string echo(const std::string& message)
{
    return message;
}
int main(int argc,char* argv[])
{
    if(argc!=2)
    {
        usage(argv[0]);
        exit(USAGE_ERR);
    }
    uint16_t port = atoi(argv[1]);
    unique_ptr<TcpServer> tsvr(new TcpServer(echo,port));

    tsvr->initServer();//初始化服务器
    
    //将服务器守护进程化
    Daemon();
    
    tsvr->start();//启动服务器

    return 0;
}